<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>get_prep_info_ocr_class_mlp [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_ocr.html">OCR</a> / <a href="toc_ocr_neuralnets.html">Neural Nets</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">get_prep_info_ocr_class_mlp</span><span data-if="c" style="display:none;">T_get_prep_info_ocr_class_mlp</span><span data-if="cpp" style="display:none;">GetPrepInfoOcrClassMlp</span><span data-if="dotnet" style="display:none;">GetPrepInfoOcrClassMlp</span><span data-if="python" style="display:none;">get_prep_info_ocr_class_mlp</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">get_prep_info_ocr_class_mlp</span><span data-if="c" style="display:none;">T_get_prep_info_ocr_class_mlp</span><span data-if="cpp" style="display:none;">GetPrepInfoOcrClassMlp</span><span data-if="dotnet" style="display:none;">GetPrepInfoOcrClassMlp</span><span data-if="python" style="display:none;">get_prep_info_ocr_class_mlp</span></code> — Compute the information content of the preprocessed feature vectors
of an OCR classifier.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>get_prep_info_ocr_class_mlp</b>( :  : <a href="#OCRHandle"><i>OCRHandle</i></a>, <a href="#TrainingFile"><i>TrainingFile</i></a>, <a href="#Preprocessing"><i>Preprocessing</i></a> : <a href="#InformationCont"><i>InformationCont</i></a>, <a href="#CumInformationCont"><i>CumInformationCont</i></a>)</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_get_prep_info_ocr_class_mlp</b>(const Htuple <a href="#OCRHandle"><i>OCRHandle</i></a>, const Htuple <a href="#TrainingFile"><i>TrainingFile</i></a>, const Htuple <a href="#Preprocessing"><i>Preprocessing</i></a>, Htuple* <a href="#InformationCont"><i>InformationCont</i></a>, Htuple* <a href="#CumInformationCont"><i>CumInformationCont</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>GetPrepInfoOcrClassMlp</b>(const HTuple&amp; <a href="#OCRHandle"><i>OCRHandle</i></a>, const HTuple&amp; <a href="#TrainingFile"><i>TrainingFile</i></a>, const HTuple&amp; <a href="#Preprocessing"><i>Preprocessing</i></a>, HTuple* <a href="#InformationCont"><i>InformationCont</i></a>, HTuple* <a href="#CumInformationCont"><i>CumInformationCont</i></a>)</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HOCRMlp.html">HOCRMlp</a>::<b>GetPrepInfoOcrClassMlp</b>(const HTuple&amp; <a href="#TrainingFile"><i>TrainingFile</i></a>, const HString&amp; <a href="#Preprocessing"><i>Preprocessing</i></a>, HTuple* <a href="#CumInformationCont"><i>CumInformationCont</i></a>) const</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HOCRMlp.html">HOCRMlp</a>::<b>GetPrepInfoOcrClassMlp</b>(const HString&amp; <a href="#TrainingFile"><i>TrainingFile</i></a>, const HString&amp; <a href="#Preprocessing"><i>Preprocessing</i></a>, HTuple* <a href="#CumInformationCont"><i>CumInformationCont</i></a>) const</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HOCRMlp.html">HOCRMlp</a>::<b>GetPrepInfoOcrClassMlp</b>(const char* <a href="#TrainingFile"><i>TrainingFile</i></a>, const char* <a href="#Preprocessing"><i>Preprocessing</i></a>, HTuple* <a href="#CumInformationCont"><i>CumInformationCont</i></a>) const</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HOCRMlp.html">HOCRMlp</a>::<b>GetPrepInfoOcrClassMlp</b>(const wchar_t* <a href="#TrainingFile"><i>TrainingFile</i></a>, const wchar_t* <a href="#Preprocessing"><i>Preprocessing</i></a>, HTuple* <a href="#CumInformationCont"><i>CumInformationCont</i></a>) const  <span class="signnote">
            (
            Windows only)
          </span></code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>GetPrepInfoOcrClassMlp</b>(<a href="HTuple.html">HTuple</a> <a href="#OCRHandle"><i>OCRHandle</i></a>, <a href="HTuple.html">HTuple</a> <a href="#TrainingFile"><i>trainingFile</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Preprocessing"><i>preprocessing</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#InformationCont"><i>informationCont</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#CumInformationCont"><i>cumInformationCont</i></a>)</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HOCRMlp.html">HOCRMlp</a>.<b>GetPrepInfoOcrClassMlp</b>(<a href="HTuple.html">HTuple</a> <a href="#TrainingFile"><i>trainingFile</i></a>, string <a href="#Preprocessing"><i>preprocessing</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#CumInformationCont"><i>cumInformationCont</i></a>)</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HOCRMlp.html">HOCRMlp</a>.<b>GetPrepInfoOcrClassMlp</b>(string <a href="#TrainingFile"><i>trainingFile</i></a>, string <a href="#Preprocessing"><i>preprocessing</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#CumInformationCont"><i>cumInformationCont</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>get_prep_info_ocr_class_mlp</b>(<a href="#OCRHandle"><i>ocrhandle</i></a>: HHandle, <a href="#TrainingFile"><i>training_file</i></a>: MaybeSequence[str], <a href="#Preprocessing"><i>preprocessing</i></a>: str) -&gt; Tuple[Sequence[float], Sequence[float]]</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p><code><span data-if="hdevelop" style="display:inline">get_prep_info_ocr_class_mlp</span><span data-if="c" style="display:none">get_prep_info_ocr_class_mlp</span><span data-if="cpp" style="display:none">GetPrepInfoOcrClassMlp</span><span data-if="com" style="display:none">GetPrepInfoOcrClassMlp</span><span data-if="dotnet" style="display:none">GetPrepInfoOcrClassMlp</span><span data-if="python" style="display:none">get_prep_info_ocr_class_mlp</span></code> computes the information content
of the training vectors that have been transformed with the
preprocessing given by <a href="#Preprocessing"><i><code><span data-if="hdevelop" style="display:inline">Preprocessing</span><span data-if="c" style="display:none">Preprocessing</span><span data-if="cpp" style="display:none">Preprocessing</span><span data-if="com" style="display:none">Preprocessing</span><span data-if="dotnet" style="display:none">preprocessing</span><span data-if="python" style="display:none">preprocessing</span></code></i></a>.
<a href="#Preprocessing"><i><code><span data-if="hdevelop" style="display:inline">Preprocessing</span><span data-if="c" style="display:none">Preprocessing</span><span data-if="cpp" style="display:none">Preprocessing</span><span data-if="com" style="display:none">Preprocessing</span><span data-if="dotnet" style="display:none">preprocessing</span><span data-if="python" style="display:none">preprocessing</span></code></i></a> can be set to <i><span data-if="hdevelop" style="display:inline">'principal_components'</span><span data-if="c" style="display:none">"principal_components"</span><span data-if="cpp" style="display:none">"principal_components"</span><span data-if="com" style="display:none">"principal_components"</span><span data-if="dotnet" style="display:none">"principal_components"</span><span data-if="python" style="display:none">"principal_components"</span></i>
or <i><span data-if="hdevelop" style="display:inline">'canonical_variates'</span><span data-if="c" style="display:none">"canonical_variates"</span><span data-if="cpp" style="display:none">"canonical_variates"</span><span data-if="com" style="display:none">"canonical_variates"</span><span data-if="dotnet" style="display:none">"canonical_variates"</span><span data-if="python" style="display:none">"canonical_variates"</span></i>.  The OCR classifier
<a href="#OCRHandle"><i><code><span data-if="hdevelop" style="display:inline">OCRHandle</span><span data-if="c" style="display:none">OCRHandle</span><span data-if="cpp" style="display:none">OCRHandle</span><span data-if="com" style="display:none">OCRHandle</span><span data-if="dotnet" style="display:none">OCRHandle</span><span data-if="python" style="display:none">ocrhandle</span></code></i></a> must have been created with
<a href="create_ocr_class_mlp.html"><code><span data-if="hdevelop" style="display:inline">create_ocr_class_mlp</span><span data-if="c" style="display:none">create_ocr_class_mlp</span><span data-if="cpp" style="display:none">CreateOcrClassMlp</span><span data-if="com" style="display:none">CreateOcrClassMlp</span><span data-if="dotnet" style="display:none">CreateOcrClassMlp</span><span data-if="python" style="display:none">create_ocr_class_mlp</span></code></a>.  The preprocessing methods are
described with <a href="create_class_mlp.html"><code><span data-if="hdevelop" style="display:inline">create_class_mlp</span><span data-if="c" style="display:none">create_class_mlp</span><span data-if="cpp" style="display:none">CreateClassMlp</span><span data-if="com" style="display:none">CreateClassMlp</span><span data-if="dotnet" style="display:none">CreateClassMlp</span><span data-if="python" style="display:none">create_class_mlp</span></code></a>.  The information content is
derived from the variations of the transformed components of the
feature vector, i.e., it is computed solely based on the training
data, independent of any error rate on the training data.  The
information content is computed for all relevant components of the
transformed feature vectors (<code><span data-if="hdevelop" style="display:inline">NumInput</span><span data-if="c" style="display:none">NumInput</span><span data-if="cpp" style="display:none">NumInput</span><span data-if="com" style="display:none">NumInput</span><span data-if="dotnet" style="display:none">numInput</span><span data-if="python" style="display:none">num_input</span></code> for
<i><span data-if="hdevelop" style="display:inline">'principal_components'</span><span data-if="c" style="display:none">"principal_components"</span><span data-if="cpp" style="display:none">"principal_components"</span><span data-if="com" style="display:none">"principal_components"</span><span data-if="dotnet" style="display:none">"principal_components"</span><span data-if="python" style="display:none">"principal_components"</span></i> and min(<code><span data-if="hdevelop" style="display:inline">NumOutput</span><span data-if="c" style="display:none">NumOutput</span><span data-if="cpp" style="display:none">NumOutput</span><span data-if="com" style="display:none">NumOutput</span><span data-if="dotnet" style="display:none">numOutput</span><span data-if="python" style="display:none">num_output</span></code> - 1,
<code><span data-if="hdevelop" style="display:inline">NumInput</span><span data-if="c" style="display:none">NumInput</span><span data-if="cpp" style="display:none">NumInput</span><span data-if="com" style="display:none">NumInput</span><span data-if="dotnet" style="display:none">numInput</span><span data-if="python" style="display:none">num_input</span></code>) for <i><span data-if="hdevelop" style="display:inline">'canonical_variates'</span><span data-if="c" style="display:none">"canonical_variates"</span><span data-if="cpp" style="display:none">"canonical_variates"</span><span data-if="com" style="display:none">"canonical_variates"</span><span data-if="dotnet" style="display:none">"canonical_variates"</span><span data-if="python" style="display:none">"canonical_variates"</span></i>, see
<a href="create_class_mlp.html"><code><span data-if="hdevelop" style="display:inline">create_class_mlp</span><span data-if="c" style="display:none">create_class_mlp</span><span data-if="cpp" style="display:none">CreateClassMlp</span><span data-if="com" style="display:none">CreateClassMlp</span><span data-if="dotnet" style="display:none">CreateClassMlp</span><span data-if="python" style="display:none">create_class_mlp</span></code></a>), and is returned in
<a href="#InformationCont"><i><code><span data-if="hdevelop" style="display:inline">InformationCont</span><span data-if="c" style="display:none">InformationCont</span><span data-if="cpp" style="display:none">InformationCont</span><span data-if="com" style="display:none">InformationCont</span><span data-if="dotnet" style="display:none">informationCont</span><span data-if="python" style="display:none">information_cont</span></code></i></a> as a number between 0 and 1.  To convert
the information content into a percentage, it simply needs to be
multiplied by 100.  The cumulative information content of the first
n components is returned in the n-th component of
<a href="#CumInformationCont"><i><code><span data-if="hdevelop" style="display:inline">CumInformationCont</span><span data-if="c" style="display:none">CumInformationCont</span><span data-if="cpp" style="display:none">CumInformationCont</span><span data-if="com" style="display:none">CumInformationCont</span><span data-if="dotnet" style="display:none">cumInformationCont</span><span data-if="python" style="display:none">cum_information_cont</span></code></i></a>, i.e., <a href="#CumInformationCont"><i><code><span data-if="hdevelop" style="display:inline">CumInformationCont</span><span data-if="c" style="display:none">CumInformationCont</span><span data-if="cpp" style="display:none">CumInformationCont</span><span data-if="com" style="display:none">CumInformationCont</span><span data-if="dotnet" style="display:none">cumInformationCont</span><span data-if="python" style="display:none">cum_information_cont</span></code></i></a>
contains the sums of the first n elements of
<a href="#InformationCont"><i><code><span data-if="hdevelop" style="display:inline">InformationCont</span><span data-if="c" style="display:none">InformationCont</span><span data-if="cpp" style="display:none">InformationCont</span><span data-if="com" style="display:none">InformationCont</span><span data-if="dotnet" style="display:none">informationCont</span><span data-if="python" style="display:none">information_cont</span></code></i></a>.  To use
<code><span data-if="hdevelop" style="display:inline">get_prep_info_ocr_class_mlp</span><span data-if="c" style="display:none">get_prep_info_ocr_class_mlp</span><span data-if="cpp" style="display:none">GetPrepInfoOcrClassMlp</span><span data-if="com" style="display:none">GetPrepInfoOcrClassMlp</span><span data-if="dotnet" style="display:none">GetPrepInfoOcrClassMlp</span><span data-if="python" style="display:none">get_prep_info_ocr_class_mlp</span></code>, a sufficient number of samples
must be stored in the training files given by <a href="#TrainingFile"><i><code><span data-if="hdevelop" style="display:inline">TrainingFile</span><span data-if="c" style="display:none">TrainingFile</span><span data-if="cpp" style="display:none">TrainingFile</span><span data-if="com" style="display:none">TrainingFile</span><span data-if="dotnet" style="display:none">trainingFile</span><span data-if="python" style="display:none">training_file</span></code></i></a>
(see <a href="write_ocr_trainf.html"><code><span data-if="hdevelop" style="display:inline">write_ocr_trainf</span><span data-if="c" style="display:none">write_ocr_trainf</span><span data-if="cpp" style="display:none">WriteOcrTrainf</span><span data-if="com" style="display:none">WriteOcrTrainf</span><span data-if="dotnet" style="display:none">WriteOcrTrainf</span><span data-if="python" style="display:none">write_ocr_trainf</span></code></a>).
</p>
<p><a href="#InformationCont"><i><code><span data-if="hdevelop" style="display:inline">InformationCont</span><span data-if="c" style="display:none">InformationCont</span><span data-if="cpp" style="display:none">InformationCont</span><span data-if="com" style="display:none">InformationCont</span><span data-if="dotnet" style="display:none">informationCont</span><span data-if="python" style="display:none">information_cont</span></code></i></a> and <a href="#CumInformationCont"><i><code><span data-if="hdevelop" style="display:inline">CumInformationCont</span><span data-if="c" style="display:none">CumInformationCont</span><span data-if="cpp" style="display:none">CumInformationCont</span><span data-if="com" style="display:none">CumInformationCont</span><span data-if="dotnet" style="display:none">cumInformationCont</span><span data-if="python" style="display:none">cum_information_cont</span></code></i></a> can be used
to decide how many components of the transformed feature vectors
contain relevant information.  An often used criterion is to require
that the transformed data must represent x% (e.g., 90%) of the
total data.  This can be decided easily from the first value of
<a href="#CumInformationCont"><i><code><span data-if="hdevelop" style="display:inline">CumInformationCont</span><span data-if="c" style="display:none">CumInformationCont</span><span data-if="cpp" style="display:none">CumInformationCont</span><span data-if="com" style="display:none">CumInformationCont</span><span data-if="dotnet" style="display:none">cumInformationCont</span><span data-if="python" style="display:none">cum_information_cont</span></code></i></a> that lies above x%.  The number thus
obtained can be used as the value for <code><span data-if="hdevelop" style="display:inline">NumComponents</span><span data-if="c" style="display:none">NumComponents</span><span data-if="cpp" style="display:none">NumComponents</span><span data-if="com" style="display:none">NumComponents</span><span data-if="dotnet" style="display:none">numComponents</span><span data-if="python" style="display:none">num_components</span></code> in a
new call to <a href="create_ocr_class_mlp.html"><code><span data-if="hdevelop" style="display:inline">create_ocr_class_mlp</span><span data-if="c" style="display:none">create_ocr_class_mlp</span><span data-if="cpp" style="display:none">CreateOcrClassMlp</span><span data-if="com" style="display:none">CreateOcrClassMlp</span><span data-if="dotnet" style="display:none">CreateOcrClassMlp</span><span data-if="python" style="display:none">create_ocr_class_mlp</span></code></a>.  The call to
<code><span data-if="hdevelop" style="display:inline">get_prep_info_ocr_class_mlp</span><span data-if="c" style="display:none">get_prep_info_ocr_class_mlp</span><span data-if="cpp" style="display:none">GetPrepInfoOcrClassMlp</span><span data-if="com" style="display:none">GetPrepInfoOcrClassMlp</span><span data-if="dotnet" style="display:none">GetPrepInfoOcrClassMlp</span><span data-if="python" style="display:none">get_prep_info_ocr_class_mlp</span></code> already requires the creation of
a classifier, and hence the setting of <code><span data-if="hdevelop" style="display:inline">NumComponents</span><span data-if="c" style="display:none">NumComponents</span><span data-if="cpp" style="display:none">NumComponents</span><span data-if="com" style="display:none">NumComponents</span><span data-if="dotnet" style="display:none">numComponents</span><span data-if="python" style="display:none">num_components</span></code> in
<a href="create_ocr_class_mlp.html"><code><span data-if="hdevelop" style="display:inline">create_ocr_class_mlp</span><span data-if="c" style="display:none">create_ocr_class_mlp</span><span data-if="cpp" style="display:none">CreateOcrClassMlp</span><span data-if="com" style="display:none">CreateOcrClassMlp</span><span data-if="dotnet" style="display:none">CreateOcrClassMlp</span><span data-if="python" style="display:none">create_ocr_class_mlp</span></code></a> to an initial value.  However, if
<code><span data-if="hdevelop" style="display:inline">get_prep_info_ocr_class_mlp</span><span data-if="c" style="display:none">get_prep_info_ocr_class_mlp</span><span data-if="cpp" style="display:none">GetPrepInfoOcrClassMlp</span><span data-if="com" style="display:none">GetPrepInfoOcrClassMlp</span><span data-if="dotnet" style="display:none">GetPrepInfoOcrClassMlp</span><span data-if="python" style="display:none">get_prep_info_ocr_class_mlp</span></code> is called it is typically not
known how many components are relevant, and hence how to set
<code><span data-if="hdevelop" style="display:inline">NumComponents</span><span data-if="c" style="display:none">NumComponents</span><span data-if="cpp" style="display:none">NumComponents</span><span data-if="com" style="display:none">NumComponents</span><span data-if="dotnet" style="display:none">numComponents</span><span data-if="python" style="display:none">num_components</span></code> in this call.  Therefore, the following
two-step approach should typically be used to select
<code><span data-if="hdevelop" style="display:inline">NumComponents</span><span data-if="c" style="display:none">NumComponents</span><span data-if="cpp" style="display:none">NumComponents</span><span data-if="com" style="display:none">NumComponents</span><span data-if="dotnet" style="display:none">numComponents</span><span data-if="python" style="display:none">num_components</span></code>: In a first step, a classifier with the
maximum number for <code><span data-if="hdevelop" style="display:inline">NumComponents</span><span data-if="c" style="display:none">NumComponents</span><span data-if="cpp" style="display:none">NumComponents</span><span data-if="com" style="display:none">NumComponents</span><span data-if="dotnet" style="display:none">numComponents</span><span data-if="python" style="display:none">num_components</span></code> is created
(<code><span data-if="hdevelop" style="display:inline">NumInput</span><span data-if="c" style="display:none">NumInput</span><span data-if="cpp" style="display:none">NumInput</span><span data-if="com" style="display:none">NumInput</span><span data-if="dotnet" style="display:none">numInput</span><span data-if="python" style="display:none">num_input</span></code> for <i><span data-if="hdevelop" style="display:inline">'principal_components'</span><span data-if="c" style="display:none">"principal_components"</span><span data-if="cpp" style="display:none">"principal_components"</span><span data-if="com" style="display:none">"principal_components"</span><span data-if="dotnet" style="display:none">"principal_components"</span><span data-if="python" style="display:none">"principal_components"</span></i> and
min(<code><span data-if="hdevelop" style="display:inline">NumOutput</span><span data-if="c" style="display:none">NumOutput</span><span data-if="cpp" style="display:none">NumOutput</span><span data-if="com" style="display:none">NumOutput</span><span data-if="dotnet" style="display:none">numOutput</span><span data-if="python" style="display:none">num_output</span></code> - 1,
<code><span data-if="hdevelop" style="display:inline">NumInput</span><span data-if="c" style="display:none">NumInput</span><span data-if="cpp" style="display:none">NumInput</span><span data-if="com" style="display:none">NumInput</span><span data-if="dotnet" style="display:none">numInput</span><span data-if="python" style="display:none">num_input</span></code>) for <i><span data-if="hdevelop" style="display:inline">'canonical_variates'</span><span data-if="c" style="display:none">"canonical_variates"</span><span data-if="cpp" style="display:none">"canonical_variates"</span><span data-if="com" style="display:none">"canonical_variates"</span><span data-if="dotnet" style="display:none">"canonical_variates"</span><span data-if="python" style="display:none">"canonical_variates"</span></i>).  Then, the
training samples are saved in a training file using
<a href="write_ocr_trainf.html"><code><span data-if="hdevelop" style="display:inline">write_ocr_trainf</span><span data-if="c" style="display:none">write_ocr_trainf</span><span data-if="cpp" style="display:none">WriteOcrTrainf</span><span data-if="com" style="display:none">WriteOcrTrainf</span><span data-if="dotnet" style="display:none">WriteOcrTrainf</span><span data-if="python" style="display:none">write_ocr_trainf</span></code></a>.  Subsequently,
<code><span data-if="hdevelop" style="display:inline">get_prep_info_ocr_class_mlp</span><span data-if="c" style="display:none">get_prep_info_ocr_class_mlp</span><span data-if="cpp" style="display:none">GetPrepInfoOcrClassMlp</span><span data-if="com" style="display:none">GetPrepInfoOcrClassMlp</span><span data-if="dotnet" style="display:none">GetPrepInfoOcrClassMlp</span><span data-if="python" style="display:none">get_prep_info_ocr_class_mlp</span></code> is used to determine the
information content of the components, and with this
<code><span data-if="hdevelop" style="display:inline">NumComponents</span><span data-if="c" style="display:none">NumComponents</span><span data-if="cpp" style="display:none">NumComponents</span><span data-if="com" style="display:none">NumComponents</span><span data-if="dotnet" style="display:none">numComponents</span><span data-if="python" style="display:none">num_components</span></code>.  After this, a new classifier with the
desired number of components is created, and the classifier is
trained with <a href="trainf_ocr_class_mlp.html"><code><span data-if="hdevelop" style="display:inline">trainf_ocr_class_mlp</span><span data-if="c" style="display:none">trainf_ocr_class_mlp</span><span data-if="cpp" style="display:none">TrainfOcrClassMlp</span><span data-if="com" style="display:none">TrainfOcrClassMlp</span><span data-if="dotnet" style="display:none">TrainfOcrClassMlp</span><span data-if="python" style="display:none">trainf_ocr_class_mlp</span></code></a>.</p>
<h2 id="sec_execution">运行信息</h2>
<ul>
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  <li>未经并行化处理。</li>
</ul>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="OCRHandle" class="parname"><b><code><span data-if="hdevelop" style="display:inline">OCRHandle</span><span data-if="c" style="display:none">OCRHandle</span><span data-if="cpp" style="display:none">OCRHandle</span><span data-if="com" style="display:none">OCRHandle</span><span data-if="dotnet" style="display:none">OCRHandle</span><span data-if="python" style="display:none">ocrhandle</span></code></b> (input_control)  </span><span>ocr_mlp <code>→</code> <span data-if="dotnet" style="display:none"><a href="HOCRMlp.html">HOCRMlp</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">HHandle</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Handle of the OCR classifier.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="TrainingFile" class="parname"><b><code><span data-if="hdevelop" style="display:inline">TrainingFile</span><span data-if="c" style="display:none">TrainingFile</span><span data-if="cpp" style="display:none">TrainingFile</span><span data-if="com" style="display:none">TrainingFile</span><span data-if="dotnet" style="display:none">trainingFile</span><span data-if="python" style="display:none">training_file</span></code></b> (input_control)  </span><span>filename.read(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[str]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Names of the training files.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'ocr.trf'</span>
    <span data-if="c" style="display:none">"ocr.trf"</span>
    <span data-if="cpp" style="display:none">"ocr.trf"</span>
    <span data-if="com" style="display:none">"ocr.trf"</span>
    <span data-if="dotnet" style="display:none">"ocr.trf"</span>
    <span data-if="python" style="display:none">"ocr.trf"</span>
</p>
<p class="pardesc"><span class="parcat">File extension:
          </span>.<code>trf</code>, .<code>otr</code></p>
</div>
  <div class="par">
<div class="parhead">
<span id="Preprocessing" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Preprocessing</span><span data-if="c" style="display:none">Preprocessing</span><span data-if="cpp" style="display:none">Preprocessing</span><span data-if="com" style="display:none">Preprocessing</span><span data-if="dotnet" style="display:none">preprocessing</span><span data-if="python" style="display:none">preprocessing</span></code></b> (input_control)  </span><span>string <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">str</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Type of preprocessing used to transform the
feature vectors.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'principal_components'</span>
    <span data-if="c" style="display:none">"principal_components"</span>
    <span data-if="cpp" style="display:none">"principal_components"</span>
    <span data-if="com" style="display:none">"principal_components"</span>
    <span data-if="dotnet" style="display:none">"principal_components"</span>
    <span data-if="python" style="display:none">"principal_components"</span>
</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'canonical_variates'</span><span data-if="c" style="display:none">"canonical_variates"</span><span data-if="cpp" style="display:none">"canonical_variates"</span><span data-if="com" style="display:none">"canonical_variates"</span><span data-if="dotnet" style="display:none">"canonical_variates"</span><span data-if="python" style="display:none">"canonical_variates"</span>, <span data-if="hdevelop" style="display:inline">'principal_components'</span><span data-if="c" style="display:none">"principal_components"</span><span data-if="cpp" style="display:none">"principal_components"</span><span data-if="com" style="display:none">"principal_components"</span><span data-if="dotnet" style="display:none">"principal_components"</span><span data-if="python" style="display:none">"principal_components"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="InformationCont" class="parname"><b><code><span data-if="hdevelop" style="display:inline">InformationCont</span><span data-if="c" style="display:none">InformationCont</span><span data-if="cpp" style="display:none">InformationCont</span><span data-if="com" style="display:none">InformationCont</span><span data-if="dotnet" style="display:none">informationCont</span><span data-if="python" style="display:none">information_cont</span></code></b> (output_control)  </span><span>real-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Relative information content of the transformed
feature vectors.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="CumInformationCont" class="parname"><b><code><span data-if="hdevelop" style="display:inline">CumInformationCont</span><span data-if="c" style="display:none">CumInformationCont</span><span data-if="cpp" style="display:none">CumInformationCont</span><span data-if="com" style="display:none">CumInformationCont</span><span data-if="dotnet" style="display:none">cumInformationCont</span><span data-if="python" style="display:none">cum_information_cont</span></code></b> (output_control)  </span><span>real-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Cumulative information content of the transformed
feature vectors.</p>
</div>
<h2 id="sec_example_all">例程 (HDevelop)</h2>
<pre class="example">
* Create the initial OCR classifier.
read_ocr_trainf_names ('ocr.trf', CharacterNames, CharacterCount)
create_ocr_class_mlp (8, 10, 'constant', 'default', CharacterNames, 80, \
                      'canonical_variates', |CharacterNames|, 42, OCRHandle)
* Get the information content of the transformed feature vectors.
get_prep_info_ocr_class_mlp (OCRHandle, 'ocr.trf', 'canonical_variates', \
                             InformationCont, CumInformationCont)
* Determine the number of transformed components.
* NumComp = [...]
* Create the final OCR classifier.
create_ocr_class_mlp (8, 10, 'constant', 'default', CharacterNames, 80, \
                      'canonical_variates', NumComp, 42, OCRHandle)
* Train the final classifier.
trainf_ocr_class_mlp (OCRHandle, 'ocr.trf', 100, 1, 0.01, Error, ErrorLog)
write_ocr_class_mlp (OCRHandle, 'ocr.omc')
</pre>
<h2 id="sec_result">结果</h2>
<p>如果参数均有效，算子
<code><span data-if="hdevelop" style="display:inline">get_prep_info_ocr_class_mlp</span><span data-if="c" style="display:none">get_prep_info_ocr_class_mlp</span><span data-if="cpp" style="display:none">GetPrepInfoOcrClassMlp</span><span data-if="com" style="display:none">GetPrepInfoOcrClassMlp</span><span data-if="dotnet" style="display:none">GetPrepInfoOcrClassMlp</span><span data-if="python" style="display:none">get_prep_info_ocr_class_mlp</span></code> 返回值 <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
    .  If
necessary, an exception is raised.
</p>
<p><code><span data-if="hdevelop" style="display:inline">get_prep_info_ocr_class_mlp</span><span data-if="c" style="display:none">get_prep_info_ocr_class_mlp</span><span data-if="cpp" style="display:none">GetPrepInfoOcrClassMlp</span><span data-if="com" style="display:none">GetPrepInfoOcrClassMlp</span><span data-if="dotnet" style="display:none">GetPrepInfoOcrClassMlp</span><span data-if="python" style="display:none">get_prep_info_ocr_class_mlp</span></code> may return the error 9211
(Matrix is not positive definite) if <a href="#Preprocessing"><i><code><span data-if="hdevelop" style="display:inline">Preprocessing</span><span data-if="c" style="display:none">Preprocessing</span><span data-if="cpp" style="display:none">Preprocessing</span><span data-if="com" style="display:none">Preprocessing</span><span data-if="dotnet" style="display:none">preprocessing</span><span data-if="python" style="display:none">preprocessing</span></code></i></a> =
<i><span data-if="hdevelop" style="display:inline">'canonical_variates'</span><span data-if="c" style="display:none">"canonical_variates"</span><span data-if="cpp" style="display:none">"canonical_variates"</span><span data-if="com" style="display:none">"canonical_variates"</span><span data-if="dotnet" style="display:none">"canonical_variates"</span><span data-if="python" style="display:none">"canonical_variates"</span></i> is used.  This typically indicates
that not enough training samples have been stored for each class.</p>
<h2 id="sec_predecessors">可能的前置算子</h2>
<p>
<code><a href="create_ocr_class_mlp.html"><span data-if="hdevelop" style="display:inline">create_ocr_class_mlp</span><span data-if="c" style="display:none">create_ocr_class_mlp</span><span data-if="cpp" style="display:none">CreateOcrClassMlp</span><span data-if="com" style="display:none">CreateOcrClassMlp</span><span data-if="dotnet" style="display:none">CreateOcrClassMlp</span><span data-if="python" style="display:none">create_ocr_class_mlp</span></a></code>, 
<code><a href="write_ocr_trainf.html"><span data-if="hdevelop" style="display:inline">write_ocr_trainf</span><span data-if="c" style="display:none">write_ocr_trainf</span><span data-if="cpp" style="display:none">WriteOcrTrainf</span><span data-if="com" style="display:none">WriteOcrTrainf</span><span data-if="dotnet" style="display:none">WriteOcrTrainf</span><span data-if="python" style="display:none">write_ocr_trainf</span></a></code>, 
<code><a href="append_ocr_trainf.html"><span data-if="hdevelop" style="display:inline">append_ocr_trainf</span><span data-if="c" style="display:none">append_ocr_trainf</span><span data-if="cpp" style="display:none">AppendOcrTrainf</span><span data-if="com" style="display:none">AppendOcrTrainf</span><span data-if="dotnet" style="display:none">AppendOcrTrainf</span><span data-if="python" style="display:none">append_ocr_trainf</span></a></code>, 
<code><a href="write_ocr_trainf_image.html"><span data-if="hdevelop" style="display:inline">write_ocr_trainf_image</span><span data-if="c" style="display:none">write_ocr_trainf_image</span><span data-if="cpp" style="display:none">WriteOcrTrainfImage</span><span data-if="com" style="display:none">WriteOcrTrainfImage</span><span data-if="dotnet" style="display:none">WriteOcrTrainfImage</span><span data-if="python" style="display:none">write_ocr_trainf_image</span></a></code>
</p>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="clear_ocr_class_mlp.html"><span data-if="hdevelop" style="display:inline">clear_ocr_class_mlp</span><span data-if="c" style="display:none">clear_ocr_class_mlp</span><span data-if="cpp" style="display:none">ClearOcrClassMlp</span><span data-if="com" style="display:none">ClearOcrClassMlp</span><span data-if="dotnet" style="display:none">ClearOcrClassMlp</span><span data-if="python" style="display:none">clear_ocr_class_mlp</span></a></code>, 
<code><a href="create_ocr_class_mlp.html"><span data-if="hdevelop" style="display:inline">create_ocr_class_mlp</span><span data-if="c" style="display:none">create_ocr_class_mlp</span><span data-if="cpp" style="display:none">CreateOcrClassMlp</span><span data-if="com" style="display:none">CreateOcrClassMlp</span><span data-if="dotnet" style="display:none">CreateOcrClassMlp</span><span data-if="python" style="display:none">create_ocr_class_mlp</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
OCR/OCV</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
